Video compression is used to reduce the amount of bandwidth that must be carried by a communication network in connection with video communications. In general, the quality of the compression will determine the amount of bandwidth required to transmit an image of a given quality. In a typical video compression scheme, temporal continuity (i.e., the fact that one image does not differ very much from frame to frame) allows only information related to the differences between adjacent images to be transmitted. Differences between particular algorithms that rely on temporal continuity generally relates to the model they use to express the differences between images.
An example of a video compression scheme includes MPEG 1, which uses a flat two-dimensional image-based block model. In particular, the MPEG 1 compression algorithm tracks blocks from one image to the next and transmits information related to the motion of the block, after applying some other compression to the block. Other compression schemes use more sophisticated models. For example, a scheme that can be beneficially applied to video conferencing uses only about 80 parameters to describe a face. These parameters may describe static attributes, like shape, and dynamic attributes, like expression. By sending only information related to these 80 parameters, the bandwidth required to transmit the image of a face is reduced as compared to transmitting the entire image pixel by pixel. Still other systems, like DivX, use a library of models to compress images when the imaging device is being, for example, panned or zoomed. The specific model applied with respect to an image frame is transmitted as one of the parameters describing the image.
The effectiveness of such approaches has been limited, because their application requires an a priori choice of the model or set of models that will be applied. Thus, a choice between a general model, which will likely provide good image quality but poor compression and a specific model, which can provide improved compression, but will exhibit poor performance if the actual attributes of the image are not well suited to that model, must be made. For example, if the compression algorithm or model assumes that the imaged scene is a human face, the compression algorithm will fail to provide good image quality if the actual image scene includes a number of different human faces. Other approaches, which vary the amount of compression applied to achieve a constant bandwidth requirement can provide insufficient information to satisfactorily represent highly detailed or fast-moving scenes. Constant bandwidth approaches can also use more bandwidth than is necessary in connection with relatively simple and/or slow-moving scenes.